Selective Recomputation for Handling Side-Effects in Parallel Logic Programs
نویسندگان
چکیده
In contrast to merely AND-and merely OR-parallel execution models/systems, the side-eeect problem in AND/OR parallel execution of Prolog programs is intricate and need to be carefully investigated. To decrease the non-trivial recomputation occurred in previous approach, this paper presents a Selective Recomputation(SR) approach for handling side-eeects in the OR-forest model which can exploit both AND-and OR-parallelism. Firstly, the background and motivation is introduced. Secondly , the complex side-eeects orderings in AND/OR parallel execution models/systems are clearly described using an innovative concept { side-eeect execution permit token. Thirdly, recomputation line is proposed to divide an AND-parallel child tree into non-recomputation part and re-computation part. Therefore, the recomputation is only connned to the recomputation part of an AND-parallel child tree, instead of the entire tree. And the non-recomputation part can be explored in parallel as pure child tree. Finally, by adopting the delayed execution of soft side-eeect built-ins, the non-recomputation part is enlarged and thus the recompu-tation is minimized and parallelism is maximized. Through comparison and analysis, we conclude the SR approach can solve the side-eeect problem with minimum recomputation and maximum parallelism. The idea of SR is applicable to other AND/OR parallel execution models/systems as well.
منابع مشابه
Handling Side - e ects with Selective Recomputationin AND / OR Parallel Execution
The side-eeect problem in AND/OR parallel execution of logic programs is complex and need to be further investigated. This paper presents a Selective Recomputation(SR) approach for handling side-eeects in the OR-forest model which can exploit both AND-and OR-parallelism. In contrast to merely AND-and merely OR-parallel execution models/systems, handling side-eeects in AND/OR parallel execution ...
متن کاملParallel CLP on Heterogeneous Networks
The combination of Or-Parallelism and Constraint Logic Programming (CLP) has proven to be very effective in tackling large combinatorial problems in real-life applications. However, existing implementations have focused on shared-memory multiprocessors. In this paper, we investigate how we can efficiently implement Or-Parallel CLP languages on heterogeneous networks, where communication bandwid...
متن کاملCuts and Side-Effects in And-Or Parallel Prolog
y > Practical Prolog programs usually contain extra-logical features like cuts, side-eeects, and database manipulating predicates. In order to exploit implicit parallelism from real applications while preserving sequential Prolog semantics, a parallel logic programming system should necessarily support these features. In this paper we show how Prolog's extra-logical features can be supported in...
متن کاملCuts and Side-eeects in And-or Parallel Prolog
Practical Prolog programs usually contain extra-logical features like cuts, side-eeects, and database manipulating predicates. In order to exploit implicit parallelism from real applications while preserving sequential Prolog semantics, a parallel logic programming system should necessarily support these features. In this paper we show how Prolog's extra-logical features can be supported in an ...
متن کاملOASys: an AND/OR parallel logic programming system
The OASys system is a software implementation designed for AND/OR-parallel execution of logic programs. In order to combine these two types of parallelism, OASys considers each alternative path as a totally independent computation (leading to OR-parallelism) which consists of a conjunction of determinate subgoals (leading to ANDparallelism). This computation model is motivated by the need for t...
متن کامل